using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using SpoonCore2.Client;
using SpoonCore2.Service;

namespace SpoonCore2.Message.Header
{
	public interface IMessageOptionHandler
	{
		void SetManager(ServiceManager manager);
		IMessageOption Option { get;}
	}

	public interface IMessageOptionHandler<T> : IMessageOptionHandler where T : IMessageOption, new()
	{
		void Send(ClientInfo destination, IMessage message, T option, BinaryWriter bw);
		void Receive(ClientInfo source, IMessage message, T option, BinaryReader br);
	}
}